Controlling a user interface of a computer device

ABSTRACT

A computer device has a touch screen which displays game elements. A user is able to move game elements to make a match. When a match is made, the game elements of the match are removed. Each game element is associated with a tile. Each tile either has a cover object or no cover object. Underlying entities are provided which occupy at least two tiles. The device has a processor which is configured to determine on detecting the match game condition if at least one tile of the game elements in the match game condition has a cover object and if so to remove the cover object and subsequently to determine if the underlying entities are only associated with tiles having cover tiles. If not, the underlying entity is repositioned if partially uncovered or removed if completely uncovered.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 14/838,785, filed onAug. 28, 2015, the entire contents of which being fully incorporatedherein by reference.

FIELD OF THE INVENTION

The present invention relates to controlling a user interface responsiveto user engagement with displayed elements on the interface of acomputer device. The embodiments may have particular, but not exclusiveapplication in the field of computer implemented applications includingfor example games, in an online or offline environment, and computingdevices therefor.

BACKGROUND OF THE INVENTION

In the field of computer-implemented games, there are many technicalchallenges facing the designer of such games when considering how theuser interface is to be controlled in the context of computer devicesavailable to play the game.

One technical challenge can involve allowing a game to be fun andcompelling even when there is limited display resource available, suchas when a game is being played on a smartphone, tablet or otherminicomputer. Another significant challenge is that of user engagement.Engagement involves designing gameplay to be engaging and rewarding toplayers. This typically requires games to be easily understood at theirsimplest or introductory levels, providing rewarding gameplay with quitesimple game mechanics, but becoming progressively more challenging sothat players are not bored, but remain engaged and develop rewardingskills. Effective engagement requires various forms of feedback toreinforce player sense of success and accomplishment.

A common genre of casual games is so-called match games. This is a typeof tile-matching game where the player manipulates tiles or game objectsaccording to a matching criterion.

A match-three game is a type of casual puzzle game where the player isrequired to find patterns on a seemingly chaotic board. The player thenhas to match three or more of the same type of game element on the gameboard and those matched elements will then disappear. An existing typeof match-three game is a so-called “switcher” game. In a switcher game,the player switches place onto adjacent game elements on the game boardso that one or both of them create a chain of at least three adjacentgame elements of the same type. Those matched game elements will thendisappear. The game board is then repopulated with game objects.

One such known match three-type game is known by the trade name CandyCrush. In that game, the game board is repopulated with game elementswhich are perceived as falling downwards onto the game board from thetop edge of the screen from which the game is played.

Another known type of game is “linker game”, where a sequence of gameelements are linked to form a known sequence. Another type of game is a‘clicker’ game, in which matches can be made in a board by clickingadjacent game elements.

A technical challenge exists when introducing complexity into such matchgames.

The user when playing a game may play a match against the computer. Atechnical challenge is presented in creating the computer implementedsoftware or AI (artificial intelligence) which provides moves inresponse to those of the user.

SUMMARY OF THE INVENTION

Aspects may provide improved methods of controlling a user interface inthe context of a computer-implemented game of a matching type (switcher,clicker or linker). Some aspects may provide a solution to the technicalproblem of improved user engagement by providing a new user engagementmode, which is implemented by a processor and data structure in acomputer device.

According to one embodiment, there is provided a computer device having:a user interface configured to display user actuatable game elements ina game board and to detect user input when a user engages with a gameelement in a move; at least one processor configured to receive adetected user input and on detecting a match game condition associatedwith the game elements to control the user interface to remove at leastthree game elements from the display and to generate replacement usergame elements for a subsequent move; and a graphics rendering componentoperable to render the game elements on the user interface, each gameelement having a graphical representation on a tile having one of aplurality of different properties, at least one object being associatedwith a plurality of tiles having a first one of the plurality ofproperties, wherein the processor is configured to determine ondetecting the match game condition if at least one tile of the gameelements in the match game condition has a first one of the plurality ofproperties and if so to change the property to a second one of theproperties and subsequently to determine if the at least one object isonly associated with tiles having the first property, the processorfurther being configured to determine for the or each of the at leastone objects associated with at least one tile having the first propertyand at least one tile of having the second property, if that object canbe positioned so that the respective object is only associated with aplurality of tiles having the first property and if so to reposition therespective object.

The user interface may be provided by a touch screen on which the gameelements are displayed.

The graphics rendering component may be operable to render arepresentation of the repositioned respective object.

The first property may comprise the presence of a first property objectand the second property comprises the absence of the first propertyobject.

The first property object may comprise a cover object and the secondproperty comprise the absence of the cover object.

The at least one object may be configured to underlie at least one ofthe cover objects.

The processor may be configured to determine if the respective objectcan be positioned so that the respective object is only associated witha plurality of tiles having the first property by determining aplurality of candidate areas, each candidate area comprising a pluralityof tiles having the first property

The processor may be configured to consider the candidate areas in turnuntil a candidate area is found where the respective object can bepositioned so that the respective object is only associated with aplurality of tiles having the first property.

For at least one candidate area, the processor may be configured todetermine if one or more entities of the respective object are presentin the candidate area.

For at least one candidate area, the processor may be configured todetermine if one or more entities of another object are present in thecandidate area and if so to adjust the candidate area.

The processor may be configured to remove any candidate area from thecandidate areas which is smaller than the respective object.

The processor may be configured to determine a path of movement for therespective object from its current position to the reposition.

The processor may be configured to select a first tile position and asecond tile position and to determine said path of movement for therespective object between said first and second tile positions.

The graphics rendering component may be configured to cause the gameelement to be overlaid over the first property object which is overlaidover an entity of the object.

The processor may be configured to determine if at least one object isonly associated with tiles having the second property and if so toremove the object.

The graphics rendering component may operable to render game elements inmultiple varieties, each variety differing from another variety in itsshape and/or colour of the game element rendered on each tile.

The game elements may resemble candies.

The computer device may comprise an artificial intelligence configuredto play against said user, said artificial intelligence configured tocause a match of said game elements and in response to said match, atile at the position of a matched game element is configured to havesaid first property.

At least one processor may implement an AI player logic.

Thus, in one embodiment a first player attempts to change the tiles tohave the second property and a second player or AI attempts to changethe tiles to have the first property.

According to another embodiment, there is provided a computer devicewhich has a touch screen which displays game elements. A user is able tomove game elements to make a match. When a match is made, the gameelements of the match are removed. Each game element is associated witha tile. Each tile either has a cover object or no cover object.Underlying entities are provided which occupy at least two tiles. Thedevice has a processor which is configured to determine on detecting thematch game condition if at least one tile of the game elements in thematch game condition has a cover object and if so to remove the coverobject and subsequently to determine if the underlying entities are onlyassociated with tiles having cover tiles. If not, the underlying entityis repositioned if partially uncovered or removed if completelyuncovered.

According to another embodiment, there is provided a computer programproduct for controlling the display of a tile image on a display of acomputer device, the computer program product comprising code embodiedon a computer-readable medium and being configured so as when executedon a processor of the computer to: cause user actuatable game elementsin a game board to be displayed; detect user input when a user engageswith a game element in a move; on detecting a match game conditionassociated with the game elements, cause at least three game elementsfrom the displayed game board and generate replacement user gameelements for a subsequent move; render the game elements on the userinterface, each game element having a graphical representation on a tilehaving one of a plurality of different properties, at least one objectbeing associated with a plurality of tiles having a first one of theplurality of properties; determine on detecting the match game conditionif at least one tile of the game elements in the match game conditionhas a first one of the plurality of properties and if so to change theproperty to a second one of the properties and subsequently to determineif the at least one object is only associated with tiles having thefirst property; and determine for the or each of the at least oneobjects associated with at least one tile having the first property andat least one tile of having the second property, if that object can bepositioned so that the respective object is only associated with aplurality of tiles having the first property and if so to reposition therespective object.

According to another embodiment, there is provided a computerimplemented method of controlling a user interface responsive to userengagement with displayed game elements on an interface, the methodcomprising the following steps implemented by a processor of a computerdevice: causing user actuatable game elements in a game board to bedisplayed; detecting user input when a user engages with a game elementin a move; on detecting a match game condition associated with the gameelements, causing at least three game elements from the displayed gameboard and generate replacement user game elements for a subsequent move;rendering the game elements on the user interface, each game elementhaving a graphical representation on a tile having a one of a pluralityof different properties, at least one object being associated with aplurality of tiles having a first one of the plurality of properties;determining on detecting the match game condition if at least one tileof the game elements in the match game condition has a first one of theplurality of properties and if so to change the property to a second oneof the properties and subsequently determining if the at least oneobject is only associated with tiles having the first property; anddetermining for the or each of the at least one objects associated withat least one tile having the first property and at least one tile ofhaving the second property, if that object can be positioned so that therespective object is only associated with a plurality of tiles havingthe first property and if so to reposition the respective object.

A further aspect provides computer program products for implementing theafore-defined methods.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the present invention and to show how thesame may be carried into effect, reference will now be made by way ofexample to the accompanying drawings in which:

Embodiments of the invention will now be described by way of theaccompanying drawings in which:

FIG. 1 is a schematic diagram of a game board of a match three gameillustrating a basic example of a match three game;

FIG. 2 is a schematic diagram illustrating how a game board isrepopulated with replacement game elements;

FIG. 3 is a first flow chart showing steps performed by a user deviceafter a change is made to game object to determine if an underlyingobject is uncovered;

FIG. 4 is a second flow chart showing steps performed by a user deviceif it is determined that an underlying object is partially uncovered;

FIG. 5 schematically shows a data structure for managing tile data,showing the interrelation between the data structure and a renderingengine of a graphics controller;

FIGS. 6 to 9 schematically show a game board at different times during afirst game mode;

FIGS. 10 to 12 schematically show a game board at different times duringa second game mode;

FIG. 13 shows an example system in which some embodiments may beprovided;

FIG. 14 shows an example user device in which some embodiments may beprovided;

FIG. 15 is a conceptual diagram depicting the view layers of someembodiments; and

FIG. 16 is a schematic diagram showing the modules and functionsassociated with carrying out the operating of embodiments; and

FIG. 17 shows a method used in another embodiment.

DESCRIPTION OF PREFERRED EMBODIMENTS

The terms user and player are used interchangeably throughout thisdocument and no specific meaning is intended using one or the otherunless the context suggests otherwise.

In the following description of various implementations of theinvention, reference is made to the accompanying drawings which form apart thereof, and in which is shown by way of illustration variousimplementations in which the invention may be utilized. It is to beunderstood that other implementations may be utilized, and structuraland functional modifications may be made without departing from thescope of the present invention.

A person skilled in the art will realise that the different approachesto implementing the game is not exhaustive, what is described herein arecertain preferred embodiments. It is possible to implement the way in anumber of variations without departing from the spirit or scope of theinvention.

A schematic view of a user device 100 according to an embodiment isshown in FIG. 14. All of the blocks shown are implemented by suitablecircuitry. The blocks may be implemented in hardware and/or software.The user device may have a control part 110. The control part 110 isalso shown as having a graphics controller 125 and a sound controller130. It should be appreciated that one or other or both of the graphicscontroller 125 and sound controller 130 may be provided by the one ormore processors 115.

The graphics controller 125 is configured to provide a video output 135.The sound controller 130 is configured to provide an audio output 140.The controller 110 has an interface 145 allowing the device to be ableto communicate with a network 150 such as the Internet or othercommunication infrastructure.

The video output 135 is provided to a display 155. The audio out 140 isprovided to an audio device 160 such as a speaker and or earphone(s).

The device 100 has an input device 165. The input device can take anysuitable format and can be one or more of a keyboard, mouse, touchscreen, joystick or game controller. It should be appreciated that thedisplay 155 may in some embodiments also provide the input device 165 byway of an integrated touch screen for example.

The blocks of the controller 110 are configured to communicate with eachother by an interconnect such as a bus or any other suitableinterconnect and/or by point to point communication.

It should be appreciated that in some embodiments, the controller may beimplemented by one or more integrated circuits, at least in part.

The user device 100 is shown by way of example only. In alternativeembodiments, one or more of the parts may be omitted. Alternatively oradditionally, some embodiments may comprise one or more other parts.Alternatively or additionally, one or more parts may be combined.

FIG. 13 schematically shows a system 200 according to an embodiment. Thesystem 200 comprises a server 220 which may store or be in communicationwith database 250 which may be, in some embodiments, be connected to aback end infrastructure (BEN) of game player's details, profiles,statistics etc. In practice, one or more databases 250 may be provided.Where more than one server 220 is provided, the database(s) 250 may beprovided in one database 250 or across two or more servers. The server220 may also have a games data function. This may comprise one or moreunits of memory to store the computer game program, user behaviour dataand a processor 115 to run the games program and process the userbehaviour data.

The server 220 may communicate via, for instance, the internet 210 toone or more client or user devices 100, shown in FIG. 13 by way ofexample as user devices 100 a, 100 b and 100 c, and may further provideconnections to a social network 230, for example, Facebook™. The socialnetwork 230 may also be connected to a database 270 storing social userinteraction details, for instance, user to user interaction maps, friendlists, location history etc. In practice, one or more databases 270 maybe provided.

It should be appreciated that embodiments may be deployed in differentsystem architectures. For example, the computer game may be implementedas a computer game that is stored in the memory of the user device andis run on the processor of the user device. However, the server 320 mayhandle some elements of the game in some embodiments. By way of exampleonly, a Java game applet may be provided to the user device 200 and thelocally running Java applet will generate, for example, the graphics,sounds, and user interaction for the game play on the user device. Somedata may be fed back to the server to allow interaction with otherplayers 305. The data which is fed back may alternatively oradditionally allow scoring and/or cross platform synchronization.

In some embodiments, the game may be implemented as a computer programthat is stored in a memory of the system, for example the server, andwhich runs on a processor of the game server. Data streams or updatesare supplied to the user device to allow the user device to render anddisplay graphics and sounds in a browser of the user device. Such anapproach is sometimes referred to as a web services approach. It shouldbe appreciated, however, that such an approach does not necessarilyrequire the use of the Internet.

It should be appreciated that some embodiments may be provided asstand-alone games on the user device.

FIG. 1 shows a display of a known version of a match 3 switcher gamecalled Candy Crush Saga™. FIG. 1 illustrates a game board 2 with aplurality of game elements 20. The game elements are each of sixdifferent shapes and colours. Each game element is supported by a the22.

In the known version of the match 3 switcher game, the aim of the gameis to swop game elements in the shape of candies with each other to makemoves on the game board. To gain points the player has to make movesthat create matches of at least three of the same game element or candy.In doing so, the player gains points and the matched game elements areremoved. As a result new game elements fall into place from the top ofthe game board in order to fill any spaces created. Assume in FIG. 1that game element 20 c is moved one place to the right to form athree-line match with game elements 20 a and 20 b. Turning now to FIG.2, this has the effect of game elements 20 a, 20 b and 20 c beingremoved or “disappearing” from the game board, creating a visual effect(animation) on the screen to indicate the disappearance, such as aminimal explosion effect. The two game elements which were directlyabove game elements 20 a will now fall downwards into the spaces createdby the removal of game elements 20 a, 20 b and 20 c. Thus, game element20 e will end up at the location 22 c, and game element 20 d will end upat the location 22 b. In addition, three new game elements are providedand fall downwards into the game board to fill the remaining threespaces above location 22 b. The new game elements may be generated atrandom. The user then has a new game board on which to play a subsequentmove.

The so-called physics of the game elements on generation of a new gameboard after each move is the same in the existing version of the gamecalled Candy Crush. That is, game elements drop down from above the gameboard at a set speeds and from the top of the game board. In analternative version detailed in U.S. Ser. No. 14/316,274 and launchedunder the name Candy Crush Soda, the physics can vary so that the speedand direction of replacement game elements can alter.

In the following, a game board is made up of game positions or tileseach of which is covered by a game element, each will have a first orsecond background and some of which will have an underlying object.

Each of the game positions will have either a background of a first typeor have a background of a second type. In the example discussed, thefirst background type can be provided by the presence of a cover objectand the second background type can be regarded as being the absence ofthe cover object. In the example embodiment, the first background typecan be regarded as a cover object which can be removed to provide theabsence of the cover object, as the second background type. By way ofexample only, the appearance of the cover object may be of frosting. Thebackground is associated with the game position and not with the gameelement, in some embodiments. In other words, if the game element moves,due to a match being made elsewhere on the board, the background doesnot move with the game element—the background is static.

In other embodiments, the first background type may be provided by anopaque object and the second background type can be provided by a clearobject.

In other embodiments, the first and second background types may havedifferent colours.

In some embodiments an underlying object is provided. The underlyingobject is sized such that it will occupy at least two adjacent gamepositions. In some embodiments, an underlying object can be consideredto be made up of a plurality of connected entities where each entityoccupies one game position. The underlying object is capable of moving,if required. In some embodiments, the underlying object is initiallyprovided beneath the cover objects and the aim is to remove theunderlying object from the game board by removing all the cover objectswhich lie over the underlying object. In some embodiments, theunderlying object is able to move in certain circumstances. In someembodiments the underlying object is made up of a chain of entities.

It will be understood that each tile has a game board position, but gameelements are removed and replaced over the tiles. The backgroundappearance is the appearance of a static tile underlying the gameelement or a game object which may change. A background appearance maycover the whole tile or only a part thereof.

It should be appreciated that there is a technical challenge iscontrolling the three layers of objects on the game board, where eachlayer has different rules and an action in one layer has an influence onthe action on another layer.

Reference is now made to FIGS. 3, 4 and 6 to 9 which shows a first gamemode where a user has a goal to capture all underlying objects.

In one embodiment, the game board is initially configured so that theunderlying objects are each covered completely by the cover objects. Ifone or more, but not all, cover objects covering an underlying objectis/are removed, the underlying object may attempt to move to a newposition. The new position should be such that the underlying object iscompletely covered by cover objects, it is not occupied by anotherunderlying object or entity thereof, and the cover objects are adjacentcover objects which currently overly a part of the underlying entity. Ifa position is found, the underlying object will move to that position.This may require more than one entity of the underlying object to moveso that all of the underlying object is covered. If a position cannot befound, the underlying object does not move. If all the cover objectscovering an underlying object are removed, the underlying object iscaptured.

Reference is made to FIG. 3 which shows a first part of a methodaccording to an embodiment.

In step S1, the position of game elements are analysed. This may beresponsive to the user interacting with the game board via the userinterface or may be responsive to the repositioning/refilling of gameelements following a match. For example, the user may interact with theuser interface to swop the position of two game elements.

In step S2, any game elements which form a match are determined. If nomatches are detected, then the next step is step S4. It should beappreciated that this may be determined in any suitable manner. By wayof example only, game rules may be applied to determine if there is amatch. The game rules may be applied by a game engine or processor.

On the other hand, if one or more matches are detected, then the nextstep is step S3. The game elements which match are removed. It should beappreciated that any cover object which underlies a removed game elementis itself removed. The existing game elements are repositioned and thegame board is refilled with new game elements. It should be appreciatedthat the cover objects will not be repositioned along with the gameelements and instead will stay in their current position.

Step S3 will be followed by step S1. In other words, steps S1 to S3 arerepeated until the game board is static and no more matches are made, ina particular turn.

In step S4, it is determined for any cover object which has been removedif an underlying object is uncovered. If not, then the method revertsback to step S1.

On the other hand, if it is determined that a cover object which hasbeen removed exposes an underlying object, then it is determined in stepS5 whether the underlying object is completely uncovered. As discussedpreviously, the underlying object will occupy at least two game tiles orpositions.

If it is determined that the underlying object is completely uncovered,the next step is step S6 where the underlying object is removed from thegame board.

If it is determined that the underlying object has not been completelyuncovered, then the next step is step S7 which causes the method stepsshown in FIG. 4 to be performed.

The steps shown in FIG. 3 may be carried out in the order shown or inany other order. In some embodiments, at least one step may be performedin parallel. For example each time a cover object is removed, it isdetermined in that cover object had an entity of the underlying objectunder it and if the underlying object is partially or completelyuncovered. This may be done in parallel any one of steps S1 to S3 whichmay be performed for repositioned game elements and/or refill gameelements.

In one modification, when it is determined that a match has been made,it is determined if an entity of said underlying object is uncovered andif so whether the underlying object is completely uncovered. If so theunderlying object is removed. This means that underlying objects whichare completely uncovered may be removed before the game board hasstabilised. The game board is stabilized when no further matches, due tofor example repositioning and refilling, are possible. This may be doneduring step S2 and/or during step S3. In this modification, steps S5 andS6 may not be necessary.

In one modification, in step S4, instead of determining for any coverobject removed if any underlying object is uncovered, the method maycomprise checking each underlying object to see if any entity thereof isuncovered in response to a match or the like.

Reference is now made to FIG. 4 which shows method steps which arecarried out for each underlying object which has been determined to bepartly, but not completely uncovered. Thus the method of FIG. 4 isgenerally performed after the game board has stabilized, i.e. no gameelements are moving and nothing is about to modify the board. Step S8starts to the process to find a new position, if possible, forunderlying objects which are partly, but not completely uncovered.

In step S9, a first one of the underlying objects which is partiallyuncovered is selected. It should be appreciated that is someembodiments, there may only be one underlying object. As such, this stepmay be omitted.

In step S10, for each area of two or more adjacent cover tiles, a checkis mode to see if one or more cover tiles of the area overlie one ormore entities of the underlying object. In some embodiments, there mayonly be one other underlying objects. In other embodiments there may betwo or more other underlying objects. Any area of adjacent cover tileswhich overlies at least one entity of the underlying object isconsidered to be a candidate area. All of the candidate areas will beidentified to provide a set of candidate areas. In some embodiments,instead of identifying all the candidate areas, up to n candidate areasare identified where n is an integer.

In step S11, for each candidate area, the cover tiles which coverentities of different underlying objects are removed from consideration.

In step S12, the candidate areas which do not have enough cover tiles tocover the underlying object, after removing the cover tiles overlyingdifferent underlying objects, are removed from the set of candidateareas.

In step S13, one of the remaining candidate areas is selected.

In step S14, it is determined if the underlying object can be placed inthe area. If it can, then the next step is step S15 where the object ismoved to underlie the candidate area. If not then, the next step is stepS16 where the selected candidate area is moved from the list of possibleareas and the method reverts back to step S13 where the next candidatearea is selected.

The candidate areas may be searched in a random order for a new positionof the underlying entity. The candidate areas may be searched in randomorder, selecting a cover object position contained in the candidate areaand adding it to a list containing the tile positions making up thepotential new positions for the underlying object. The cover objectposition initially selected may be adjacent the current position of theuncovered entity or may be elsewhere in the candidate area. A randomtile of the candidate area neighbouring the tile last added to the listis added to the list. This is repeated until the list contains enoughtiles to cover the whole underlying object. A new valid position hasbeen found for the underlying object and the search is ended. If thelist does not contain enough tiles, the search continues to the nextcandidate area.

It should be appreciated that the method will revert back to step S9 torepeat the process for the next underlying object which is partiallyuncovered, in the case that there is another underlying object to beconsidered.

In other embodiments, a first candidate area is selected and then adetermination is made as to whether the underlying object can move so asto be completely under the first candidate area. If so, then underlyingobject is moved. If not, a next area is checked to see if it is acandidate area and so on.

In one embodiment, a new position for each underlying object may bedetermined in turn, as will be discussed above. However, it should beappreciated that in some embodiments, a more complex method may beperformed particularly to deal with contention for cover objects by twodifferent underlying objects. This would involve determining for eachpartially covered underlying object all candidate areas and thenselecting candidate areas where there are no contention with otherunderlying objects in preference to those with contention. Where thereis contention of a candidate area between two underlying objects, anysuitable method may be used to select which one of the underlyingobjects is assigned the candidate area. For examples one of more factorssuch as size of underlying object, proximity to other candidate areas,and number of entities of the underlying object exposed may be takeninto account.

The order in which the steps shown in FIG. 4 may differ from that shown.In some embodiments, one or more steps may be left out. In someembodiments, one or more additional steps may be performed. In oneembodiment, the steps S11 and S12 may be carried out as part of stepS14.

In some embodiments, it is not possible for an underlying object tocompletely underlie a single candidate area. Accordingly, in that casethe number of entities of the underlying object which are exposed aredetermined. If possible a candidate area which allows for only oneentity to be exposed may be selected.

Where there is no candidate area which is able to accommodate all of anunderlying entity and there is more than one exposed entity of theunderlying object, a search may be made to see if there are twocandidate areas in combination which are able to cover all but oneentity of the underlying object.

In some embodiments, the algorithm may be more complex and is able tocontrol the position of at least one other underlying object such thatthe current underlying object can be covered. For example, if anotherunderlying object is lying across the middle of a covered area such thatthe candidate area is too small for the current underlying object beingconsidered, the other underlying object may be moved to increase thesize of the candidate area available for the current underlying objectbeing considered.

In some embodiments, the movement sequence of the underlying object maybe selected so that the rendered view will appear that the underlyingobject is moving. For example a movement sequence for each entity of theunderlying object for which a new position was found may be determined.

A “contraction” tile or position is selected for the underlying objectby picking the tile of the entity of the underlying object in the middleof the underlying object, or if there an even number of entities in theunderlying object, the tile of one of the entities on either side of theunderlying object center. In some embodiments, the underlying objectwill occupy a single tile, the contraction tile.

An “expansion” tile is selected for the underlying object. Any suitabletile may be selected. For example, the tile in the middle of the newposition list of tiles may be selected, or if it contains an even numberof tiles, the tile before or after the center. The expansion tile insome embodiments may be the tile which, after the underlying object hasmoved will accommodate an entity which is at one end of the underlyingobject which is in the form of a chain.

The contraction and expansion tile may both be under the cover objectsin some embodiments.

A movement path underneath the cover tiles is found between thecontraction tile and the expansion tile using any suitable algorithm,for example the A* or A-star algorithm.

Each entity of the underlying object starts moving towards its newposition, over several frames. In some embodiments, the entities occupya single tile during the movement. For example the entities in theunderlying object moves along the underlying object to the contractiontile. Once all entities are at the contraction tile, all entities movealong the movement path to the expansion tile. At the expansion tile,each entity of the underlying object moves to the tile in the list oftiles making up the new position with the same index as the tile it usedto occupy at the original position.

It should be appreciated that this is only one example in which themovement of the object may be controlled. Different methods ofcontrolling movement may be used in different embodiments.

In other embodiments, the underlying object may simply be rearranged tofit into an area.

Reference is made to FIG. 6 which shows an example of an image displayedon a device. The image has a game board at the beginning of a game. Thegame elements 302 surrounding a central region have no cover object andno underlying object. The central region 300 has game elements, each ofwhich is on a tile which has a cover object. As can be seen the gameelements which overly a cover object can be distinguished from thosewhich do not in that the visual appearance of the background to the gameelements are different, depending on whether the cover object is presentor not. Further in the central region, some of the game elements overlyan underlying object. In the example shown, those underlying objects arehighlighted by the shapes 304, 305 and 306. In some embodiments, thisshape is not displayed but instead the appearance of a tile which has acover object and which has an underlying object will be different tothat of a tile which has a cover object and no underlying entity. Inthis embodiments, each underlying object is occupies three tiles.However, this is by way of example only. In some embodiments, differentunderlying objects may occupy different numbers of tiles to each other.In some embodiments, the underlying objects may alternatively oradditionally be larger than three tiles and/or smaller than three tiles.At least one underlying object and preferably all underlying objectsoccupy at least two tiles.

Reference is made to FIG. 7 which shows the game board shown in FIG. 6but after some moves have been made. As can be seen a number of thecover objects have been removed and the underlying objects are stillunder cover objects but are in different positions. The underlyingobjects have moved so parts of the underlying objects that would havebeen exposed are again covered.

Reference is made to FIG. 8 which shows the game board shown in FIG. 7but after some further moves have been made. As can be seen, theunderlying object 305 is partially but not completely exposed and thecover area is too small to accommodate all of the underlying object.

Reference is made to FIG. 9 which shows the game board shown in FIG. 8but after some further moves have been made. As can be seen, two of theunderlying objects 305 and 306 are exposed completely are in the processof being removed from the game board and one of the underlying objects304 is now partially but not completely exposed.

In another embodiment, a game objective may be to “beat” another playeror AI (artificial intelligence) controlling the cover objects. The otherperson or AI may have the objective to prevent the release of theunderlying entities. For example the other person or AI when they make amatch cover objects will be added, if not already present to thepositions of the game elements which make a match. It should beappreciated the underlying objects may behave in the same way asdescribed previously.

Accordingly in some embodiments, the game mode is modified so that aftereach turn of the user, the AI takes a turn. Any tile hit (i.e.underlying a game element which is part of match) as a result of a movemade by the AI will be covered in a cover tile. The AI attempts to coverany exposed entity of an underlying object with cover tiles to make itharder for the player to capture the underlying objects by uncoveringcompletely the underlying object.

The moves made by the user will be as described in relation to FIGS. 3and 4. Reference is made to FIG. 17 which schematically shows the methodperformed by the AI. The AI is implemented by one or more processors inthe user device and/or in the host server.

In step T1, all possible moves are determined. For example, all possibleswaps on the game board which result in a match may be determined.

In step T2, for each possible move, a value is assigned a value to it.Any suitable system for assigning value can be used. In one embodiment,the following scheme is used:

a. If the move would cover an entity of the underlying object with acover object, add 1500 to its value.

b. If (a) is false and the move would cover a tile next to an entity ofthe underlying object with a cover object, add 200 to its value.

c. If (b) is false and the move would cover a tile (for example if thetile is currently uncovered), add 100 to its value.

d. If the move would create a special game element (e.g. a special candyor booster in the Candy Crush example), add 1 to its value.

e. If the move would trigger a special game element, add 4500 to itsvalue if the current move is an extra move, otherwise 300.

It should be appreciated that the specific values and relative weightingorder are by of example only and different values and relative weightingorder may be used in other embodiments.

In step T3, a subset of moves may be selected. In some embodiments, nmoves are selected. In other embodiments, any move above a threshold isselected. In other embodiments, no selection of a subset is made and themove or one of the moves with the highest score is selected. In oneembodiment, all of the moves with a value greater than a third of thevalue of move with the highest value are selected to provide the subsetof moves.

In step T4 one of the moves is selected from the subset. In oneembodiment a move is selected from the subset at random.

Reference is made to FIG. 10 which shows an initial game board for agame between a user and an AI. The game board has an inner square area322 where no game element is on a covered tile, an outer border 320where again no game element is on a covered tiles and an inner border324 which separates the inner square area and the outer border area. Thegame element on the tiles forming the inner border are on covered tiles,some of which have an underlying object.

Reference is made to FIG. 11, which shows the game board after a userhas made a move and the AI is to make a move. In the example shown, theAI is referred to as the “queen”. As can be seen one of the tiles 326 inthe inner border has been removed as a result of a move made by theuser.

Reference is made to FIG. 12, which shows the game board after the AIhas made a move and the user is to make a move. As can be seen, as aresult of the move made by the AI, three tiles 328 in the outer borderhave now become covered tiles.

FIG. 13 illustrates a data structure for managing the tile backgroundappearance, and schematically illustrates the interrelation between thedata structure 1603 and a rendering engine 1600 of the graphicscontroller 180. The graphics controller is in the user device asdescribed previously. The data structure 1603 can be held in anysuitable storage circuitry, such as in the memory of the user device, asdescribed previously. The rendering engine 1600 drives the display on auser interface 1602 which receives the video output from the graphicscontroller.

The data structure 1603 is responsible for controlling the game boarddisplayed. Each tile has a tile ID 1605. The tile ID 1605 can define theposition on the user interface where the tile is to be positioned. Thisallows the rendering engine 1600 to generate that tile at an appropriateposition on the user interface display 1602. Each tile ID 1605 isassociated with tile data 1607 which defines what game element it hasassociated with it, tile background data 1609 which defines if the tileis covered or uncovered and underlying entity data 1610 which defines ifan entity of an underlying object is associated with that tile.

After a move has been made or there has been some change to the gameboard, the game engine will update this data such that updated tileimage will be rendered by the rendering engine and displayed.

Reference is made to FIG. 16 which schematically shows the functionalblocks of an embodiment, which may enable game play such as discussedpreviously. A user input block 800 is shown. This captures the userinput and feeds the input to a game engine 802. In the context of thegame of some embodiments, this user input may be which tiles areswitched by a user. This user input can be via any suitable userinterface, such as discussed earlier.

The game engine 802 will process the information provided by the userinput. The game engine 802 (for example a game model) will determine ifa valid combination has been made.

Each game element has object data associated therewith. The object data804 may be stored in any suitable memory location. In some embodiments,the object data may be provided by the data structure describedpreviously. In some embodiments, the object data may be considered to bepart of the game engine and in other embodiments may be considered to beoutside the game engine. The object data may provide information as tothe properties of a game element. These properties can include attributeinformation such as colour and/or whether or not a game element has aparticular function such as a so-called booster function. The objectdata may include the position data, that is, information representingthe position of the game element in the displayed image.

In some embodiments, the game engine will check if the game elementsatisfies the rule or rules for a valid match. The rule or rules whichdefine whether or not a match condition has been satisfied. The matchcondition will be dependent on the game. In some embodiments, a matchcondition will be satisfied if the game tiles are arranged to provide asequence of at least three adjacent first objects sharing at least onesame characteristic. In some embodiments, the game objects of thesequence are removed.

Thus, the game engine will be in control of the matching mechanism. Thegame engine will have access to data for each tile including itsposition and the at least one characteristic associated with the tile,and will be able to determine if a match condition has been met. If amatch condition is met, the tiles in the match may be removed.

It should be appreciated that in other embodiments, the game may use anytype of match mechanic such as switching, sliding or linking. The gameelements may be any suitable game element and in some embodiments may beletters. In that scenario a match will occur when the letters match aword. Preferably the word is at least three letters long.

A physics engine 808 is provided which is configured to control themovement of moving game elements on the display.

The physics engine 808 may be part of the game engine 802.

A view function 806 uses of the object data to provide the displayedimage with which the user is able to view and/or interact.

FIG. 15 shows an example of a 4 layer display. FIG. 6 comprises a firstor top layer 601, a second layer 602, a third layer 603 and a fourth orbottom layer 604. Visual objects in the top layer will be displayed ontop of other visual objects in other layers. Visual objects in thesecond layer will be displayed below visual objects in the top layer,but above any further layers. Visual objects in the third layer will bedisplayed below visual objects in the top and second layer, but aboveany further layers. Visual objects in the bottom layer will be displayedbelow visual objects in all the other layers. It will also beappreciated that four layers is by way of example only and more or fewerlayers may be implemented.

The bottom layer may be for the game board background, the third layerfrom the underlying object, the second layer for the cover objects andthe top layer for the game elements.

Various methods and devices have been described. It should beappreciated that these methods may be implemented in apparatus ordevices comprising any suitable circuitry. Some embodiments may beimplemented by at least one memory and at least one processor. Thememory is provided by memory circuitry and the processor is provided byprocessor circuitry. Some embodiments may be provided by a computerprogram running on the at least one processor. The computer program maycomprise computer implemented instructions which are stored in the atleast one memory and which may be run on the at least one processor. Acomputer program product may be provided which comprises computerprogram product comprising code embodied on a computer-readable mediumwhich is configured to be executed on a processor of the computer oruser device. In some embodiments, a non-transitory computer readablestorage device may be provided to store program code instructions that,when executed by at least one processor causes any of the abovedescribed methods to be performed.

A person skilled in the art will realise that the different approachesto implementing the game is not exhaustive, what is described herein arecertain preferred embodiments. It is possible to implement the way in anumber of variations without departing from the scope of the inventionas claimed. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

1. A computer device having: a user interface configured to display useractuatable game elements in a game board of tiles and to detect userinput when a user engages with a game element in a move; at least oneprocessor configured to receive a detected user input and on detecting amatch game condition associated with the game elements to control theuser interface to remove at least three game elements from the displayand to generate replacement user game elements for a subsequent move;and a graphics rendering component operable to render the game elementson the user interface, each game element having a graphicalrepresentation on a tile, wherein at least one object different to saidgame elements is provided, at least one of said objects having alocation on said game board, said location occupying a first pluralityof tiles, each tile of said first plurality of tiles also having arespective game element, said at least one processor being configured tocontrol movement of said at least one object from said first pluralityof tiles to a second plurality of tiles in dependence on a match gamecondition.
 2. The computer device as claimed in claim 1, wherein saidfirst plurality of tiles differs from said second plurality of tiles byone or more tiles.
 3. The computer device as claimed in claim 1, whereineach tile further has one of a plurality of visually distinct differentproperties, wherein the processor is configured to determine ondetecting the match game condition if at least one respective tile ofthe game elements in the match game condition has a first one of theplurality of properties and if so to change the property to a second oneof the properties.
 4. The computer device as claimed in claim 3, whereinthe first plurality of tiles have a first one of the plurality ofvisually distinct properties.
 5. The computer device as claimed in claim3, wherein, said processor being configured after a match has occurredto determine for at least one object, the property of the each tile ofthe respective plurality of tiles with which that object is associated.6. The computer device as claimed in claim 3, wherein when a respectiveobject is associated with at least one tile having the first property aswell as at least one tile of having the second property, the processoris configured to determine if that respective object can be positionedso that the respective object is only associated with a plurality oftiles having the first property and if so to reposition the respectiveobject to be associated only with the plurality of tiles having thefirst property.
 7. The computer device of claim 6, wherein the graphicsrendering component is operable to render a representation of therepositioned respective object.
 8. The computer device as claimed inclaim 3, wherein the first property comprises the presence of a firstproperty object and the second property comprises the absence of thefirst property object.
 9. The computer device as claimed in claim 8,wherein the first property object comprises a cover object and thesecond property comprises the absence of the cover object.
 10. Thecomputer device as claimed in 9, wherein the at least one object isconfigured to underlie at least one of the cover objects.
 11. Thecomputer device as claimed in claim 6, wherein the processor isconfigured to determine if the respective object can be positioned sothat the respective object is only associated with a plurality of tileshaving the first property by determining a plurality of candidate areas,each candidate area comprising a plurality of tiles having the firstproperty.
 12. The computer device as claimed in 11, wherein for at leastone candidate area, the processor is configured to determine if one ormore entities of another object are present in the candidate area and ifso to adjust the candidate area.
 13. The computer device as claimed inclaim 11, wherein said processor is configured to remove any candidatearea from the plurality of candidate areas which is smaller than therespective object.
 14. The computer device as claimed in claim 6,wherein the processor is configured to determine a path of movement forrespective object from its current position to the reposition.
 15. Thecomputer device as claimed in claim 3, wherein the graphics renderingcomponent is configured to cause the game element to be overlaid overthe first property object which is overlaid over the game object. 16.The computer device as claimed in claim 3, wherein the processor isconfigured to determine if at least one object is only associated withtiles having the second property and if so to remove that object.
 17. Acomputer program product for controlling the display of a tile image ona display of a computer device, the computer program product comprisingcode embodied on a computer-readable medium and being configured so aswhen executed on a processor of the computer to: cause user actuatablegame elements in a game board to be displayed; detect user input when auser engages with a game element in a move; on detecting a match gamecondition associated with the game elements, cause at least three gameelements from the displayed game board to be removed and generatereplacement user game elements for a subsequent move; render the gameelements on the user interface, each game element having a graphicalrepresentation on a tile, provide at least one object different to saidgame elements, at least one of said objects having a location on saidgame board, said location occupying a first plurality of tiles, eachtile of said first plurality of tiles also having a respective gameelement; and control movement of said at least one object from saidfirst plurality of tiles to a second plurality of tiles in dependence ona match game condition.
 18. A computer implemented method of controllinga user interface responsive to user engagement with displayed gameelements on an interface, the method comprising the following stepsimplemented by a processor of a computer device: causing user actuatablegame elements in a game board to be displayed; detecting user input whena user engages with a game element in a move; on detecting a match gamecondition associated with the game elements, causing at least three gameelements from the displayed game board to be removed and generatereplacement user game elements for a subsequent move; rendering the gameelements on the user interface, each game element having a graphicalrepresentation on a tile; providing at least one object different tosaid game elements, at least one of said objects having a location onsaid game board, said location occupying a first plurality of tiles,each tile of said first plurality of tiles also having a respective gameelement; and controlling movement of said at least one object from saidfirst plurality of tiles to a second plurality of tiles in dependence ona match game condition.